home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Reference / DevCon / Orlando_1993 / Devcon93.4 / CAMD / examples / trans / boximage.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-01  |  2.3 KB  |  53 lines

  1. /* =========================================================================== *
  2.  *                                   Box Image Class                             *
  3.  * =========================================================================== */
  4.  
  5.     /* This is my generic custom image structure */
  6.  
  7. struct BoxImage {
  8.     struct _Object        obj;
  9.     struct Image        image;
  10.     UWORD                *glyph_data;            /* data for glyph in center        */
  11.     WORD                flags;                    /* flags for this image            */
  12. };
  13.  
  14.     /* flags to fill in the BoxImage flags field */
  15.  
  16. #define BOX_BEVELED        (1<<0)                    /* box has beveled look            */
  17. #define BOX_FILLED        (1<<1)                    /* center of box filled in        */
  18. #define BOX_THICK_BEVEL    (1<<2)                    /* vertical lines doubly thick    */
  19. #define BOX_PUSHES_IN    (1<<3)                    /* bevel inverted when selected    */
  20. /* #define BOX_HIGH_FILL    (1<<4) */
  21. #define BOX_LIGHT_FILL    (1<<5)                    /* selected center same as shine*/
  22. #define BOX_IN_BORDER    (1<<6)                    /* reverse fill when window active */
  23.  
  24. #define BOX_Beveled        (TAG_USER+1)            /* box has beveled look            */
  25. #define BOX_Filled        (TAG_USER+2)            /* center of box filled in        */
  26. #define BOX_ThickBevel    (TAG_USER+3)            /* vertical lines doubly thick    */
  27. #define BOX_PushesIn    (TAG_USER+4)            /* bevel inverted when selected    */
  28. #define BOX_LightFill    (TAG_USER+5)            /* selected center same as shine*/
  29. #define BOX_BorderFill    (TAG_USER+6)            /* reverse fill when window active*/
  30.  
  31. #define BOX_GlyphData    (TAG_USER+7)            /* glyph image data                */
  32. #define BOX_GlyphWidth    (TAG_USER+8)            /* width of glyph data            */
  33. #define BOX_GlyphHeight    (TAG_USER+9)            /* height of glyph data            */
  34. #define BOX_Text        (TAG_USER+10)            /* centered text string            */
  35. #define BOX_Font        (TAG_USER+11)            /* font to render text string    */
  36.  
  37.     /* assembly language functions from my standard library */
  38.  
  39. void __asm DrawBevel( register __a1 struct RastPort *,
  40.                       register __a0 struct IBox *,
  41.                       register __d0 WORD,
  42.                       register __d1 WORD );
  43.  
  44. void __asm DrawThinBevel( register __a1 struct RastPort *,
  45.                           register __a0 struct IBox *,
  46.                           register __d0 WORD,
  47.                           register __d1 WORD );
  48.  
  49. void __asm SetupImageIBox( register __a0 struct Image *,
  50.                            register __a1 struct impDraw *,
  51.                            register __a2 struct IBox * );
  52.  
  53.